/**********************************************************
 * display.h - contains code for the data structure
 * storing the bike data.
 *
 * By: Team 4
 * *******************************************************/

#ifndef DISPLAY_H
#define DISPLAY_H


/**********************************************************
 * Defines - defining commonly used character strings
 * *******************************************************/
// We are now using the defines in GSGCdef.h

//#define ACK 0x06
//#define NACK 0x15
//#define CHANGE_BACKGROUND 0x42
//#define AUTO_BAUD 0x55
//#define CLEAR 0x45
#define BACKGROUND 0x0000
#define TXTCOLOR 0xFFFF
#define ALERTLEFT 0x01
#define ALERTMID 0x02
#define ALERTRIGHT 0x04
#define CONNHR 0x08
#define CONNCAD 0x10
#define CONNPROX 0x20
#define GRAY 0x4208

/**********************************************************
 * Helper Functions - functions called by other functions
 * in the header that help with the implementation.
 * *******************************************************/

int UART_OLED_init();
int transmit_string(char * string, int num);
int transmit_char(char val);
int waitACK();
int checkACK();
int send_auto_baud(int times);
int set_background(char R, char G, char B);
int write_text(char count);
int write_string(char * val, int num);
int clearScreen();
int bitmaps();
int erase(char x,char y, char endX, char endY);
int screen1(int hour, int min, int sec, int spdCur, int distRaw, char flags);
int screen2(int hour, int min, int sec, int hbpmCur, int calRaw, char flags);
int screen3(int hour, int min, int sec, int cadRaw, int distRaw, char flags);
int screen4(int sec, int hbpmCur, int spdRaw, int cadRaw, char flags);
int screen5(int sec, int hbpmAvg, int spdAvg, int cadAvg, char flags);
int screen6(int sec, int hbpmMax, int spdMax, int cadMax, char flags);

#endif //DISPLAY_H

